-
Notifications
You must be signed in to change notification settings - Fork 203
feat: GATK Meta-wrapper update to follow pathvars #4666
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
📝 WalkthroughWalkthroughParameterizes file paths in the GATK MuTect2 meta-wrapper by adding a Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20–25 minutes Possibly related PRs
Suggested reviewers
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
🧰 Additional context used🧠 Learnings (1)📓 Common learnings⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
meta/bio/gatk_mutect2_calling/test/reference/known.vcf.gzis excluded by!**/*.gz
📒 Files selected for processing (5)
meta/bio/gatk_mutect2_calling/meta.yaml(1 hunks)meta/bio/gatk_mutect2_calling/meta_wrapper.smk(6 hunks)meta/bio/gatk_mutect2_calling/test/Snakefile(1 hunks)meta/bio/gatk_mutect2_calling/test/config.yaml(1 hunks)test_wrappers.py(1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
**/*.py
⚙️ CodeRabbit configuration file
**/*.py: Do not try to improve formatting.
Do not suggest type annotations for functions that are defined inside of functions or methods.
Do not suggest type annotation of theselfargument of methods.
Do not suggest type annotation of theclsargument of classmethods.
Do not suggest return type annotation if a function or method does not contain areturnstatement.
Files:
test_wrappers.py
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: testing
- GitHub Check: docs
- GitHub Check: Summary
🔇 Additional comments (4)
test_wrappers.py (1)
6562-6562: LGTM! Test path correctly updated to reflect new structure.The path change from
variant/Sample1.filtered.vcf.gz.tbitoresults/variant/Sample1.filtered.vcf.gz.tbicorrectly aligns with the new pathvars-based output structure defined in the meta-wrapper.meta/bio/gatk_mutect2_calling/test/config.yaml (1)
1-9: LGTM! Configuration properly defines all required pathvars.The pathvars configuration is complete and consistent with the documentation in
meta.yaml. The per-sample templating using"{sample}"for theperpathvar and"mapped/{sample}.bam"forbam_filecorrectly enables flexible path resolution across the workflow.meta/bio/gatk_mutect2_calling/test/Snakefile (1)
6-11: LGTM! Snakefile correctly adopts config-driven meta-wrapper pattern.The addition of the
configfiledirective and the conversion to nestedmeta_wrapperblock form are both correct. This enables the workflow to use the pathvars defined inconfig.yamlfor flexible path resolution.meta/bio/gatk_mutect2_calling/meta_wrapper.smk (1)
3-158: Verify hardcoded{sample}references in params are intentional.The conversion to placeholders looks comprehensive and consistent. However, Lines 42 and 77 contain
{sample}directly in theextraparams strings:
- Line 42:
"--RGLB lib1 --RGPL illumina --RGPU {sample} --RGSM {sample}"- Line 77:
" --tumor-sample {sample} "This creates an implicit constraint that the
perpathvar must be exactly"{sample}". If users configureperas"{sample_id}"or another pattern, these params would not expand correctly.Consider either:
- Documenting this constraint in
meta.yaml, or- Making it more flexible by using the
<per>placeholder in params where appropriate
This PR lets GATK meta-wrapper use
pathvarssyntax.QC
snakemake-wrappers.While the contributions guidelines are more extensive, please particularly ensure that:
test.pywas updated to call any added or updated example rules in aSnakefileinput:andoutput:file paths in the rules can be chosen arbitrarilyinput:oroutput:)tempfile.gettempdir()points tometa.yamlcontains a link to the documentation of the respective tool or command underurl:Summary by CodeRabbit
New Features
Tests